import { userlist ,usercount} from "../../../request/api"
const state = {
    adminList: [],
    //一页的数据量
    pageSize:2,
    //页码
    pageNum:1,
    //总条数
    count:0 
}
const getters = {
    getAdmin(state) {
        return state.adminList
    },
    getSize(state){
        return state.pageSize
    },
    getCount(state){
        return state.count
    }
}
const mutations = {
    REQ_ADMIN(state, payload) {
        state.adminList = payload
    },
    REQ_COUNT(state,payload){
        state.count = payload
    },
    //封装一个修改页码的事件
    REQ_PAGENUM(state,payload){
        state.pageNum = payload
    }
}
const actions = {
    //获取管理员列表行动
    getAdmigAction(context) {
        userlist({
            page: context.state.pageNum,
            size: context.state.pageSize
        }).then(res => {
            let list = res.list?res.list:[]
            //彻底解决  页码不是第一页  并且没有数据存在
            if(context.state.pageNum!=1&&list.length==0){
                //重新触发页码修改
                context.dispatch('changePageAction',context.state.pageNum-1)
            }
            context.commit('REQ_ADMIN', res.list)
            //出现bug的思路分析
            //出现什么bug ?这个bug是如何产生的?如何解决这个bug
            //当列表
        })
    },
    //获取总条数
    getCountAction({commit}){
        usercount().then(res=>{
            commit('REQ_COUNT',res.list[0].total)
        })
    },
    //封装一个切换页码重新请求列表的行为
    changePageAction(context,payload){
        //修改页码  然后触发请求列表数据
        context.commit('REQ_PAGENUM',payload)
        context.dispatch('getAdmigAction')
    }

}
export default {
    state, getters, mutations, actions,
    namespaced: true
}